+2007-07-10 Christian Persch <chpe@gnome.org>
+
+ * gtk/gtkaction.c: (gtk_action_sync_tooltip),
+ (gtk_action_set_tooltip):
+ * gtk/gtkuimanager.c: (update_node): Remove work-around for the old
+ tooltips code, and just set the action tooltip immediately on the
+ proxy widget. Bug #455482.
+
2007-07-10 Kristian Rietveld <kris@imendio.com>
* gtk/gtktooltip.c (find_widget_under_pointer),
gtk_action_sync_tooltip (GtkAction *action,
GtkWidget *proxy)
{
- GtkWidget *parent;
-
- parent = gtk_widget_get_parent (proxy);
-
- if (GTK_IS_TOOL_ITEM (proxy) && GTK_IS_TOOLBAR (parent))
- gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (proxy),
- action->private_data->tooltip);
+ gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (proxy),
+ action->private_data->tooltip);
}
static void
for (p = action->private_data->proxies; p; p = p->next)
{
proxy = (GtkWidget *)p->data;
-
- gtk_action_sync_tooltip (action, proxy);
+
+ if (GTK_IS_TOOL_ITEM (proxy))
+ gtk_action_sync_tooltip (action, proxy);
}
g_object_notify (G_OBJECT (action), "tooltip");
if (info->proxy)
{
- /* FIXME: we must re-set the tooltip, since tooltips on
- * toolitems can't be set before the toolitem is added
- * to the toolbar.
- */
- gchar *tooltip;
-
- g_object_get (G_OBJECT (action), "tooltip", &tooltip, NULL);
- g_object_set (G_OBJECT (action), "tooltip", tooltip, NULL);
- g_free (tooltip);
-
g_signal_connect (info->proxy, "notify::visible",
G_CALLBACK (update_smart_separators), NULL);
}